package com.cms.work.service.sys;

import java.util.List;

import com.cms.work.core.service.BaseService;
import com.cms.work.entity.enums.CommonEnum.RoleStatusEnum;
import com.cms.work.entity.sys.SysRole;
import com.cms.work.entity.sys.vo.SysUserRoleVo;
import com.cms.work.exception.SystemException;

/**
 * @describe 角色管理模块 
 * @author YY
 * @version v1.0
 * @date 2016-11-22 14:23:15
 */
public interface ISysRoleService extends BaseService<SysRole, Integer> {

    /**
     * <p>Description: 获取用户已拥有的角色</p>
     * @param userId
     * @return
     * @date 2016年11月22日下午11:26:44
     */
    List<SysUserRoleVo> getUserRoleByUserId(int userId);
    
    /**
	 * <p>Description: 添加角色（需要同时添加角色资源关联）</p>
	 * @param sysRole
	 * @param resources List<Integer>
	 * @return
	 * @throws SystemException
	 * @date 2016年11月22日下午11:26:25
	 */
    SysRole addRole(SysRole sysRole, List<Integer> resources);
    
    /**
	 * <p>Description: 修改角色状态（1 启用 2 禁用）</p>
	 * @param roleId
	 * @param status RoleStatusEnum 
	 * @date 2016年11月22日下午11:42:12
	 */
    void updateRoleStatus(int roleId, RoleStatusEnum status);
}

